package edu.cuit.canary.entity.po;

import edu.cuit.canary.entity.enums.SysUserStatus;
import io.swagger.v3.oas.annotations.media.Schema;
import lombok.Getter;
import lombok.Setter;

import java.time.LocalDateTime;

/**
 * 系统用户
 */
@Setter
@Getter
public class SysUser {
    /**
     * 系统用户标识id
     */
    @Schema(description = "主键标识,添加时自动生成可省略")
    private Integer id;
    /**
     * 登录系统的用户名
     */
    @Schema(description = "登录系统用户名", requiredMode = Schema.RequiredMode.REQUIRED)
    private String username;
    /**
     * 登录系统密码
     */
    @Schema(description = "登录密码", requiredMode = Schema.RequiredMode.REQUIRED)
    private String password;
    /**
     * 真实姓名
     */
    @Schema(description = "真实姓名")
    private String realName;
    /**
     * 联系号码
     */
    @Schema(description = "联系号码")
    private String phone;
    /**
     * 用户头像
     */
    @Schema(description = "用户头像path")
    private String avatar;
    /**
     * 备注信息
     */@Schema(description = "备注")
    private String description;
    /**
     * 标记该用户是否删除
     */
    @Schema(description = "用户是否删除", defaultValue = "false")
    private boolean deleted;
    /**
     * 用户状态
     */
    @Schema(description = "用户状态,可选值:NORMAL/DISABLE", defaultValue = "NORMAL")
    private SysUserStatus status = SysUserStatus.NORMAL;
    /**
     * 创建时间
     */
    @Schema(hidden = true)
    private LocalDateTime createTime;

    /**
     * 更新时间
     */
    @Schema(hidden = true)
    private LocalDateTime updateTime;
}
